package cn.edu.scau.cmi.tangqingning.dao;

import java.sql.SQLException;

import cn.edu.scau.cmi.tangqingning.model.Group;
import cn.edu.scau.cmi.tangqingning.model.Student;

/**
 * 数据库访问层-学生的访问操作的接口类。
 * 
 * @author 谭祖杰
 *
 */
public interface StudentDao {
	/**
	 * 学生登录<br>
	 * 用来描述学生的动作的方法。
	 * @param student Student
	 * @return 成功则返回 true,否则返回 false
	 */
	public boolean isStuLogin(Student student);

	/**
	 * 修改密码<br>
	 * 用来描述学生的动作的方法。
	 * 
	 * @param student Student
	 * @return 成功则返回 1,否则返回 0
	 */

	public int updateStuPassWord(Student student);

	/**
	 * 计算功能平均分,界面平均分，答辩平均分，创新分平均，以及总平均分,用来描述学生的动作的方法。
	 * 
	 * @param group Group
	 * @param student Student
	 * @return flagArray[] 
	 * @throws SQLException 如果一个错误发生，则抛出此异常
	 */
	public int[] calculateScore(Group group, Student student) throws SQLException;

	/**
	 * 通过学号查询并且获取个人信息,用来描述学生的动作的方法。
	 * 
	 * @param stId String
	 * @return group 
	 */
	public Group findStudentById(String stId);

	/**
	 * 查看小组的项目信息
	 * @param groupNumber int
	 * @return List	返回一个Group类型的小组对象数组List
	 */
	public Group findProjectContentByGroupNumber(int groupNumber);

}
